Event transcript presentation

ABSTRACT

A computer system receives data that includes indications of a plurality of agenda items that correspond to the group event. During the group event, the system captures, by a media recording device, media data, converts the captured media data to a searchable version of the media data and searches the searchable version of the media data to determine a first time frame of the media data that corresponds to a first agenda item of the plurality of agenda items. The system displays, in a user interface that is accessible to at least one user associated with the group event, the representation of the media data. A first portion of the representation of the media data that corresponds to the first time frame is visually distinguished from at least a portion of the representation of the media data that does not correspond to the first time frame.

RELATED APPLICATIONS

This application is a non-provisional application of and claims priorityto U.S. Provisional Patent Application No. 62/739,099, filed Sep. 28,2018, entitled, “Task-Based Action Generation,” which is herebyincorporated by reference in its entirety.

TECHNICAL FIELD

This disclosure relates generally to providing a user with access tomedia data related to group events and, more particularly, to displayinga representation of the media data based on information known about aparticular group event.

BACKGROUND

Although the real-time discussion that occurs during meetings is crucialto many business functions, meetings frequently lack the structure andtopical focus to be worthwhile for participants. As a result, meetingparticipants often feel that attending a meeting was not a valuable useof time, but may nonetheless continue attending such meetings fromconcern about missing a key piece of information that may arise during ameeting.

By listening to a recording or reading a transcript or minutes of ameeting, a person may gain a sense of what was discussed during ameeting without spending time to attend the meeting. However, reviewingthe entire content of a meeting may consume as much time as would havebeen spent at the meeting. A summary prepared by a meeting participantmay be incomplete and lack the nuance of the meeting. A meeting that isproductive and focused may nevertheless have its value diminished by thelack of a record of decisions and action items that arose from themeeting.

Often, members of an organization are unnecessarily invited to meetings.For example, a person may receive an invitation to a meeting becausethat person is a part of a group associated with a task, even though theperson is not directly involved with the task.

SUMMARY

Accordingly, there is a need for improved methods and systems formanaging actions such as meetings. Such methods and systems reduce theextent of input required from a user (e.g., by leveraging storedinformation about projects, tasks, members, and/or content), to improvethe efficiency with which actions are managed.

The above deficiencies and other problems associated with existingapproaches to are reduced or eliminated by the disclosed computersystems.

Without limiting the scope of the appended claims, after consideringthis disclosure, and particularly after considering the section entitled“Detailed Description,” one will understand aspects of variousembodiments.

In some embodiments, a method for displaying a representation of mediadata that corresponds to a group event is provided. The methodcomprises, at a computing device, receiving data that includesindications of a plurality of agenda items that correspond to the groupevent. During the group event, the device captures, by a media recordingdevice, media data; converts the captured media data to a searchableversion of the media data; and searches the searchable version of themedia data to determine a first time frame of the media data thatcorresponds to a first agenda item of the plurality of agenda items. Themethod further comprises displaying, in a user interface that isaccessible to at least one user associated with the group event, therepresentation of the media data. A first portion of the representationof the media data that corresponds to the first time frame is visuallydistinguished from at least a portion of the representation of the mediadata that does not correspond to the first time frame.

In some embodiments, a device comprises one or more processors andmemory storing one or more programs for execution by the one or moreprocessors. The one or more programs include instructions for receivingdata that includes indications of a plurality of agenda items thatcorrespond to the group event. The one or more programs further includeinstructions for, during the group event, capturing, by a mediarecording device, media data; converting the captured media data to asearchable version of the media data; and searching the searchableversion of the media data to determine a first time frame of the mediadata that corresponds to a first agenda item of the plurality of agendaitems. The one or more programs further include instructions fordisplaying, in a user interface that is accessible to at least one userassociated with the group event, the representation of the media data. Afirst portion of the representation of the media data that correspondsto the first time frame is visually distinguished from at least aportion of the representation of the media data that does not correspondto the first time frame.

In some embodiments, a computer readable storage medium stores one ormore programs for execution by one or more processors. The one or moreprograms include instructions for receiving data that includesindications of a plurality of agenda items that correspond to the groupevent. The one or more programs include instructions for, during thegroup event, capturing, by a media recording device, media data;converting the captured media data to a searchable version of the mediadata; and searching the searchable version of the media data todetermine a first time frame of the media data that corresponds to afirst agenda item of the plurality of agenda items. The one or moreprograms further include instructions for displaying, in a userinterface that is accessible to at least one user associated with thegroup event, the representation of the media data. A first portion ofthe representation of the media data that corresponds to the first timeframe is visually distinguished from at least a portion of therepresentation of the media data that does not correspond to the firsttime frame.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the present disclosure can be understood in greater detail, amore particular description may be had by reference to the features ofvarious embodiments, some of which are illustrated in the appendeddrawings. The appended drawings, however, merely illustrate pertinentfeatures of the present disclosure and are therefore not to beconsidered limiting, for the description may admit to other effectivefeatures.

FIG. 1 is a system diagram that illustrates devices of a contentmanagement platform, in accordance with some embodiments

FIG. 2 is a system diagram of a server device, in accordance with someembodiments.

FIG. 3 is a system diagram of a client device, in accordance with someembodiments.

FIG. 4 is a conceptual diagram of a collection of data related to anorganization, in accordance with some embodiments.

FIGS. 5A-5C illustrate a database schema that corresponds to anorganization, in accordance with some embodiments.

FIGS. 6A-6F illustrate event user interfaces, in accordance with someembodiments.

FIGS. 7-8 are exemplary user interfaces for task-based actiongeneration, in accordance with some embodiments.

FIG. 9 is a flow diagram illustrating a method for generating task-basedactions, in accordance with some embodiments.

FIGS. 10A-10B illustrate a portion of an event user interface, inaccordance with some embodiments.

FIGS. 11A-11E illustrate representations of collected media data, inaccordance with some embodiments.

FIG. 12 illustrates a graphical user interface displayed during anevent, in accordance with some embodiments.

FIGS. 13A-13B are flow diagrams illustrating a method for displaying arepresentation of media data that corresponds to a group event, inaccordance with some embodiments.

FIG. 14 is an exemplary search user interface for displaying searchresults, in accordance with some embodiments.

FIG. 15 is a conceptual illustration of hierarchal rank in anorganization, in accordance with some embodiments.

FIG. 16 is a conceptual illustration of stored search result weightdata, in accordance with some embodiments.

FIG. 17 is a flow diagram illustrating a method for prioritizing searchresults based on hierarchal ranking, in accordance with someembodiments.

In accordance with common practice, some of the drawings may not depictall of the components of a given system, method or device. Finally, likereference numerals may be used to denote like features throughout thespecification and figures.

DETAILED DESCRIPTION

Numerous details are described herein in order to provide a thoroughunderstanding of the example embodiments illustrated in the accompanyingdrawings. However, some embodiments may be practiced without many of thespecific details, and the scope of the claims is only limited by thosefeatures and aspects specifically recited in the claims. Furthermore,well-known processes, components, and materials have not been describedin exhaustive detail so as not to unnecessarily obscure pertinentaspects of the embodiments described herein.

Embodiments described herein may be implemented in a content managementplatform (e.g., Evernote or Evernote Business). In some embodiments, thecontent management platform includes tools for administration ofcontent, projects, tasks, divisions, members, events, and/or clients ofan organization. The tools provide users with the ability to store,share, view, edit, and/or organize information that is administered viathe platform. In some embodiments, the content management platformincludes a Meetings feature that includes interfaces and functionsassociated with events of an organization (e.g., as described furtherwith regard to FIGS. 6A-6F).

FIG. 1 is a system diagram that illustrates devices of a contentmanagement platform (e.g., as used to access and/or interact with aMeetings feature of the content management platform), in accordance withsome embodiments. System 100 includes server 200, described further withregard to FIG. 2. Data is communicated between server 200 and variousclient devices 300 (e.g., devices 300-1, 300-2, 300-3, 300-4, and 300-5)via network(s) 102. For example, a portable electronic device 300-1 isoperated by user 104-1, a laptop device 300-2 is operated by user 104-2,and a portable electronic device 300-5 is operated by user 104-3. User104-1 and user 104-2 are physically located in an event space 106 inwhich an event (e.g., a meeting) is taking place and user 104-3 isremote from the event space 106 (e.g., user 104-3 is participating inthe meeting from a remote location). Conference telephone 300-3 anddisplay device 300-4 are also located in event space 106. User devices300 display information received from server 200 and/or transmitinformation to server 200.

In some embodiments, one or more client devices 300 display the sameuser interface (e.g., a meeting user interface related to the eventoccurring in event space 106). In some embodiments, a first portion ofevent content (e.g., a presentation) is displayed on a first respectivedevice of client devices 300 (e.g., display 300-4), a second portion ofevent content (e.g., a meeting summary) is displayed on a secondrespective device of user devices 300 (e.g., portable electronic device300-1), and a third portion of event content (e.g., an agenda) isdisplayed on a third respective device of client devices 300 (e.g.,laptop 300-2).

FIG. 2 is a system diagram of server device 200, in accordance with someembodiments. Server device 200 typically includes one or moreprocessor(s) 252, a memory 202, a power supply 254, an input/output(I/O) subsystem 256, and a communication bus 250 for interconnectingthese components.

Processor(s) 252 execute modules, programs and/or instructions stored inmemory 202 and thereby perform processing operations.

In some embodiments, the memory 202 stores one or more programs (e.g.,sets of instructions) and/or data structures, collectively referred toas “modules” herein. In some embodiments, memory 202, or thenon-transitory computer readable storage medium of memory 202 stores thefollowing programs, modules, and data structures, or a subset orsuperset thereof:

operating system 204;

organization(s) 206 data, including a collection of data related to anorganization (e.g., as described with regard to FIG. 5 and FIGS. 5A-5C);

event management module 208, including:

-   -   action generation module 210 for generating an action (e.g., an        event, such as a meeting) based on a task (e.g., as described        with regard to FIGS. 7-8); and    -   action updating module 212 for updating an action (e.g., in        accordance with a determination of a change in a status of a        member, task, and/or content associated with the action); and    -   action(s) 214 generated by action generation module 210;

timeline generation module 216, including:

-   -   media data module 218 for capturing and/or storing media data        (e.g., event media data captured by one or more client devices        300 during an event);    -   media analysis module 220 for analyzing media data (e.g., as        described with regard to FIGS. 10A-10B, 11A-11E, 12, and        13A-13B); and    -   media presentation module 222 for presenting a representation of        media data (e.g., as described with regard to FIGS. 10A-10B,        11A-11E, 12, and 13A-13B); and

search module 228, including:

-   -   group analysis module 230 for comparing members of a group to        assign weights to respective search results (e.g., as described        with regard to FIGS. 14-17).

The above identified modules (e.g., data structures, and/or programsincluding sets of instructions) need not be implemented as separatesoftware programs, procedures or modules, and thus various subsets ofthese modules may be combined or otherwise re-arranged in variousembodiments. In some embodiments, memory 202 stores a subset of themodules identified above. Furthermore, the memory 202 may storeadditional modules not described above. In some embodiments, the modulesstored in memory 202, or a non-transitory computer readable storagemedium of memory 202, provide instructions for implementing respectiveoperations in the methods described below. In some embodiments, some orall of these modules may be implemented with specialized hardwarecircuits that subsume part or all of the module functionality. One ormore of the above identified elements may be executed by one or more ofprocessor(s) 252. In some embodiments, local database 260 or remotedatabase 262 stores one or more modules identified above (e.g., actions214 are stored by a database as an event 530 (FIG. 5B) and/or media data218 is stored by a database as event media of event 530). In someembodiments, one or more of the modules described with regard to memory202 is implemented on memory 302 of client device 300 (FIG. 3).

I/O subsystem 256 communicatively couples server 200 to local devices(e.g., local database 260) and/or remote devices (e.g., devices accessedvia a communications network 102 (e.g., the Internet), such as remotedatabase 262 and client device(s) 300) via a wired and/or wirelessconnection.

Communication bus 250 optionally includes circuitry (sometimes called achipset) that interconnects and controls communications between systemcomponents.

FIG. 3 is a system diagram of client device 300, in accordance with someembodiments. Client device 300 typically includes one or moreprocessor(s) 352, a memory 302, a power supply 354, an input/output(I/O) subsystem 356 and a communication bus 350 for interconnectingthese components. Client devices 300 include, e.g., portable electronicdevices (e.g., portable media players, cellular telephones, tablets,and/or laptop computers), presentation devices (e.g., network-enableddisplays, digital whiteboards, and/or projectors), desktop computingdevices, audio recording devices, video recording devices, and/orconference telephone systems.

Processor(s) 352 execute modules, programs and/or instructions stored inmemory 302 and thereby perform processing operations.

In some embodiments, the memory 302 stores one or more programs (e.g.,sets of instructions) and/or data structures, collectively referred toas “modules” herein. In some embodiments, memory 302, or thenon-transitory computer readable storage medium of memory 302 stores thefollowing programs, modules, and data structures, or a subset orsuperset thereof:

operating system 304;

local content management module 306 (e.g., a content managementapplication that runs locally on client device 300), including:

-   -   local event management module 308, which includes:        -   event user interface(s) module 310 for displaying user            interfaces related to actions (e.g., as described with            regard to FIGS. 7-8); and        -   media capture module 312 for capturing media (e.g., audio            and/or video) of actions (e.g., using input device(s) 360);            and    -   content search module 314, which includes search user        interface(s) module 316 for displaying user interfaces related        to search operations (e.g., as described with regard to FIGS.        14-17).

The above identified modules (e.g., data structures, and/or programsincluding sets of instructions) need not be implemented as separatesoftware programs, procedures or modules, and thus various subsets ofthese modules may be combined or otherwise re-arranged in variousembodiments. In some embodiments, memory 302 stores a subset of themodules identified above. Furthermore, the memory 302 may storeadditional modules not described above. In some embodiments, the modulesstored in memory 302, or a non-transitory computer readable storagemedium of memory 302, provide instructions for implementing respectiveoperations in the methods described below. In some embodiments, some orall of these modules may be implemented with specialized hardwarecircuits that subsume part or all of the module functionality. One ormore of the above identified elements may be executed by one or more ofprocessor(s) 352. In some embodiments, one or more of the modulesdescribed with regard to memory 302 is implemented on memory 202 ofserver device 200 (FIG. 2). For example, in some embodiments, serverdevice 200 causes event user interface(s) 310 and/or search userinterface(s) to be displayed by client device 300 and/or transmitsinformation for display by event user interface(s) 310.

I/O subsystem 356 communicatively couples client device 300 to localdevices (e.g., input device(s) 360 and/or output device(s) 358) and/orremote devices (e.g., devices accessed via a communications network 102(e.g., the Internet), such as server 200) via a wired and/or wirelessconnection. In some embodiments, an input device 360 and/or an outputdevice 358 are integrated with client device 300 (e.g., as a touchscreendisplay). In some embodiments, user input device 358 and/or an outputdevice 358 are peripheral devices communicatively connected to userdevice 100. In some embodiments, input device(s) 360 include, forexample, an audio capture device (e.g., a microphone that is integratedinto client device 300 or a peripheral audio capture device), an imagecapture device (e.g., a camera that is integrated into client device 300or a peripheral image capture device), a keyboard, and/or a pointerdevice such as a mouse, touchpad, touchscreen and/or stylus. In someembodiments, output device(s) 358 include, e.g., a display and/or aspeaker.

Communication bus 350 optionally includes circuitry (sometimes called achipset) that interconnects and controls communications between systemcomponents.

FIG. 4 is a conceptual diagram of a collection of data related to anorganization 402, as implemented in a content management platform, inaccordance with some embodiments. Organization 402 indicates anorganization (also referred to herein as a “group”) such as a business,educational organization, government organization, or other collectionof people. Organization 402 represents data related to members 412,projects 404, and content 406 that are associated with organization 402(for example, as described with regard to FIGS. 5A-5C). Members 412include, for example, people that are a part of an organization orpeople that are otherwise related to or affiliated with an organization.Projects 404 (also referred to herein as “Spaces”) include, for example,data indicating or associated with projects and/or goals of anorganization. In some embodiments, projects 404 include tasks 408 (e.g.,action items and/or decisions) that are associated with a project and/orevents 410 (e.g., meetings) that are associated with a project. Content406 includes, for example, documents, media (e.g., audio, video, and/orimages), notes, and/or internet clipping. As described further belowwith regard to FIGS. 5A-5C, content 406 may be associated with one ormore organizations(s) 402, project(s) 404, task(s) 408, event(s)410,and/or member(s) 412. A project 404, task 408, and/or event 410 may beassociated with one or more member(s) 412.

FIGS. 5A-5C illustrate a database schema 500 that corresponds to anorganization 502 (e.g., an organization 402), in accordance with someembodiments. Database schema 500 illustrates, for example, the structureof data and relations between data of a database that stores the datadescribed with regard to FIG. 4.

Database schema 500 includes an organizations table 502 that includes acolumn (e.g., a data field) “Organization_ID” that is the primary key(PK) of the table (e.g., each entry in the Organization_ID column isunique). For example, an organization indicated by an organization entry(row) in the Organization_ID column corresponds to an organization 402as described with regard to FIG. 4. In some embodiments, organizationnames are stored in the Organization_ID column. In some embodiments, aunique number is generated for Organization_ID each time a neworganization is added and the name of the organization is stored in aseparate field of organizations 502 (e.g., organizations table 502includes an Organization_Name column (not shown)).

In some embodiments, database schema 500 includes a divisions table 504that includes a column “Division_ID” that is the primary key of thetable. The divisions table 504 also includes an “Organization_ID” columnthat is a foreign key (FK), indicating that the divisions table 504 is achild table of the organizations table 502. The Organization_ID FKindicates that, for each division indicated by a division entry (row) inthe division_ID column, there is an associated organization_ID thatcorresponds to an organization to which the division belongs. Forexample, a division (also referred to herein as a “subgroup”) indicatedby a division entry in the division_ID column is a team (e.g. a legalteam, marketing team, development team, management team etc.) or othersubset of members from a set of members of an organization.

In some embodiments, database schema 500 includes a members table 506that includes a column “Member_ID” that is the primary key of the table.A member indicated by a member entry in the Member_ID column is, forexample, a member 402 as described with regard to FIG. 4. In someembodiments, members table 506 includes a Member_Name column (e.g., toindicate a given name of a member, distinct from a unique identifierstored in the Member_ID column). In some embodiments, members table 506includes a Member_Location (e.g., a site where a member performs workfor an organization), a Member_Role (e.g., a job title, project role,and/or task role), and a Hierarchal_Rank (e.g., an indication of amember's rank (e.g., management level) relative to other members of theorganization).

Division members table 512 is used to create relationships betweenDivision_IDs and Member_IDs such that members can be associated withdivisions in many-to-many relationships (e.g., a division can includemultiple members and a member can belong to multiple divisions).

In some embodiments, database schema 500 includes a content items table508 that includes a column “Content_ID” that is the primary key of thetable. A content item indicated by a content entry in the Content_IDcolumn is, for example, a content item 406 as described with regard toFIG. 4. In some embodiments, content items table 508 includes aContent_Type column (e.g., to indicate whether the content item is adocument, a media item, a note, and/or and internet clipping). In someembodiments, content items table 508 includes a Content_Title (e.g., atitle of a content item that is distinct from a unique identifiergenerated for the Content_ID entry) and a Content_Source (e.g., awebsite from which an internet clipping was obtained).

Member_content table 514 is used to create relationships betweenContent_IDs and Member_IDs such that members can be associated withcontent items in many-to-many relationships. In some embodiments,Member_content table 415 includes a row (not shown) indicating arelationship of the member to a content item (for example, therelationship indicates whether a member identified by Member_ID isassociated with content identified by Content_ID has created, modified,viewed, and/or shared the content item).

In some embodiments, database schema 500 includes a projects table 510that includes a column “Project_ID” that is the primary key of thetable. A project indicated by a project entry in the Project_ID columnis, for example, a project 404 as described with regard to FIG. 4. Theprojects table 510 also includes an “Organization_ID” column that is aforeign key, indicating that the projects table 510 is a child table ofthe organizations table 502.

Project_content table 516 is used to create relationships betweenContent_IDs and Project_IDs such that content items can be associatedwith projects in many-to-many relationships.

FIG. 5B illustrates a second portion of database schema 500. Projectstable 510 as shown in FIG. 5B is an abbreviated representation ofprojects table 510 as shown in FIG. 5A, members table 506 as shown inFIG. 5B is an abbreviated representation of projects table 506 as shownin FIG. 5A, and content items table 508 as shown in FIG. 5B is anabbreviated representation of content items table 508 as shown in FIG.5A.

In some embodiments, database schema 500 includes an events table 530that includes a column “Event_ID” that is the primary key of the table.An event item indicated by an event entry in the Event_ID column is, forexample, an event item 410 as described with regard to FIG. 4. In someembodiments, events table 530 includes an Event_Date column (e.g., toindicate a scheduled date of the event), an Event_Time (e.g., toindicate a scheduled time of the event), an Event_Location column (e.g.,to indicate a location of a scheduled event), an Event_Title column(e.g., to indicate a name for the event distinct from the uniqueidentifier generated for the Event_ID entry), an Event_Descriptioncolumn (e.g., to provide a description of the purpose of the vent), anEvent_Media column (e.g., to store media data 218 as described withregard to FIG. 2), and/or an Event_Agenda (e.g., to store a set ofagenda items (e.g., tasks 536) to be covered during an event).

Event_Content table 532 is used to create relationships betweenContent_IDs and Event_IDs such that events can be associated withcontent items in many-to-many relationships.

Event_Members table 534 is used to create relationships betweenEvent_IDs and Member_IDs such that events can be associated with tasksin many-to-many relationships.

In some embodiments, database schema 500 includes a tasks table 536 thatincludes a column “Task_ID” that is the primary key of the table. A taskitem indicated by a task entry in the Task_ID column is, for example, atask item 408 as described with regard to FIG. 4. The tasks table 536also includes a “Project_ID” column that is a foreign key, indicatingthat the tasks table 536 is a child table of the projects table 510. Insome embodiments, task table 536 includes a Task_Type column (e.g., toindicate whether the task is an action item or a decision item) and/or aTask_Name column (e.g., to indicate a name for the task distinct fromthe unique identifier generated for the Task_ID entry).

Event_Tasks table 538 is used to create relationships between Event_IDsand Task_IDs such that events can be associated with tasks inmany-to-many relationships.

Task_Members table 540 is used to create relationships between Task_IDsand Member_IDs such that tasks can be associated with members inmany-to-many relationships.

In some embodiments, a Task_Content table (not shown) is used to createrelationships between Task_IDs and Content_IDs such that tasks can beassociated with content items in many-to-many relationships

In some embodiments, database schema 500 includes a milestones table 542that includes a column “Milestone_ID” that is the primary key of thetable. A milestone item indicated by a milestone entry in theMilestone_ID column is, for example, a date associated with a task (or arespective date of a series of dates associated with respective subtasksof a task). The milestones table 542 also includes a “Task_ID” columnthat is a foreign key, indicating that the milestones table 542 is achild table of the tasks table 536. In some embodiments, milestonestable 542 includes a Start Date column (e.g., to indicate a start dateand/or time associated with a task) and/or an End Date column (e.g., toindicate an end date and/or time associated with a task). In someembodiments, milestones table 542 includes a Status column (e.g., toindicate whether or not the milestone has been completed).

FIG. 5C illustrates a third portion of database schema 500.Organizations table 502 as shown in FIG. 5C is an abbreviatedrepresentation of organizations table 502 as shown in FIG. 5A, divisionstable 504 as shown in FIG. 5C is an abbreviated representation ofdivisions table 504 as shown in FIG. 5A, and members table 506 as shownin FIG. 5C is an abbreviated representation of members table 506 asshown in FIG. 5A.

In some embodiments, database schema 500 includes a Search_Terms table560 that includes a column “Term_ID” that is the primary key of thetable. A search term indicated by a term entry in the Term_ID column is,for example, a search term entered in a search user interface 316displayed on a client device 300 that accesses data of contentmanagement system 100 (e.g., as described further below with regard toFIGS. 14-17). The search terms table 560 also includes a Term_Contentcolumn (e.g., to indicate a word, phrase, or sentence that correspondsto a search query, distinct from the unique identifier generated for theTerm_ID entry).

In some embodiments, database schema 500 includes anOrganization_Search_Terms table 562 that is a child table oforganizations table 502 (as indicated by the Organization_ID foreignkey) and search terms table 560 (as indicated by the Term_ID foreignkey). The Organization_Search_Terms table 562 indicates search termsthat are used (e.g., with a defined measure of uniqueness orpredominance) by an organization.

In some embodiments, database schema 500 includes aDivision_Search_Terms table 564 that is a child table of divisions table504 (as indicated by the Division_ID foreign key) and search terms table560 (as indicated by the Term_ID foreign key). The Division_Search_Termstable 564 indicates search terms that are used (e.g., with a definedmeasure of uniqueness or predominance) by a division.

In some embodiments, database schema 500 includes a Member_Search_Termstable 566 that is a child table of members table 506 (as indicated bythe Member_ID foreign key) and search terms table 560 (as indicated bythe Term_ID foreign key). The Member_Search_Terms table 566 indicatessearch terms that are used (e.g., with a defined measure of uniquenessor predominance) by a member.

In some embodiments, database schema 500 is a schema for a databasestored by memory 202, for a database that is local to server 200 (e.g.,a local database 260), and/or for a database that is remote to server200 (e.g., remote database 262). In some embodiments, a subset of theabove identified schema objects (e.g., tables, columns, relationships,primary keys, and/or foreign keys) are stored. Furthermore, additionalschema elements not described above may be stored.

FIGS. 6A-6F illustrate event user interfaces, in accordance with someembodiments. For example, the event user interfaces 310 of FIGS. 6A-6Fare graphical user interfaces that are displayed on output device 358(e.g., a display) of client device 300.

FIG. 6A shows an event summary page 600 of an event user interface 310,in accordance with some embodiments. Event summary page 600 includes acalendar 602 indicating dates on which events 410 are scheduled to occurand an event list 604 providing detailed information (e.g., anEvent_Description as described with regard to events table 530) aboutscheduled events. By selecting new meeting control 606, a user canaccess an interface for manually generating a new event. However,providing input for generating a new event action is time consuming forusers. The Task-Based Action Generation section below describesoperations that cause an action to be automatically generated, reducingthe number of inputs required for a user to create a meeting event.

Event summary page 600 includes a past event summary section 608 withsummary information for past events. For example, past event entry 610indicates an event title (e.g., an Event_Title stored in events table530), a topic (e.g., an Event_Description stored in events table 530), atime at which the event was updated (e.g., an Event_Time stored inevents table 530), a count of action items (as indicated by thecheckmark icon), a count of decision items (as indicated by theexclamation point icon), and availability of media data (as indicated bythe microphone icon, e.g., Event_Media stored in events table 530).

In some embodiments, user interfaces of the content managementapplication 306, such as event summary page 600, include a navigationregion 612 that includes links (e.g., “All Notes” (content item entriesstored in content items table 508), “Meetings” (event entries stored inevents table 530), “Tasks” (task entries stored in task table 536),“Spaces” (project entries stored in project table 505), etc.) fornavigating to user interface pages related to the indicated link target.

In some embodiments, navigation region 612 includes a search input field614 that receives search query input. Selection of search control 616causes a search user interface to be displayed, as described furtherwith regard to FIGS. 14-17.

As shown in FIG. 6B, in response to an input at a location thatcorresponds to an event 620 (“Marketing Weekly Sync”) listed in eventlist 604, as illustrated by pointer icon 622, a meeting detail region624 is displayed (e.g., overlaying event summary page 600). The meetingdetail region 624 includes event information (e.g., information storedin events table 530 (e.g., Event_Title, Event_Date, Event_Time,Event_Location, and/or Event_Description) and information accessible viaEvent_Members table 534 (e.g., Member_Name from members table 506 ofmembers associated with the event)). A control 626 displayed in themeeting detail region 624 allows creation of a new meeting note.

FIG. 6C illustrates a meeting note page 630 for event 620. In someembodiments, meeting note page 630 is displayed in response to inputdetected at a location that corresponds to control 626. Meeting notepage 630 includes a meeting note input region 632 (e.g., to receive textinput, documents, images (e.g., whiteboard images) or other eventcontent associated with an event). For example, meeting note pageincludes content stored in Event_Content table 532. In some embodiments,meeting note page 630 includes a control 634 for initiating mediacapture 312 (e.g., using an input device 360, such as a camera and/ormicrophone, of client device 300). An agenda 636 (e.g., including a setof tasks 408) is shown in meeting note page 630. In some embodiments,the agenda includes controls as indicated at 638 for indicating acurrently discussed task (e.g., for providing a visual indication ofwhen the task was discussed relative to a representation of capturedmedia for the event). However, requiring users to provide inputindicating when a task was discussed may result in incomplete orinaccurate tracking of discussion of agenda items if input is notprovided at the correct point in time. The Event TranscriptionPresentation section below describes automatic determination of timeframes in captured media for an event that correspond to discussion ofagenda items. Automatic determination of discussion of agenda itemsreduces the number of inputs required for agenda items to be visuallydistinguished in a representation of the captured media.

Meeting note page 630 includes an input region 640 that is used togenerate task content (e.g., for storage by tasks table 536) and a taskdisplay region 642 that displays generated task content (e.g., taskcontent input via input region 640 and/or tasks that are automaticallygenerated based on meeting content). In some embodiments, one or moretasks are automatically generated based on analysis of media capturedduring an event. For example, captured media is analyzed to determine ifa statement made during an event corresponds to a decision item (e.g.,“Susan is going to review and let Alan know whether we will moveforward”) or an action item (e.g., “Luis will prepare thepresentation”).

FIG. 6D illustrates a mid-event state of meeting note page 630. In FIG.6D, meeting note content has been input in meeting note input region632. Media capture is in progress, as indicated by the state of mediacapture control 634.

FIG. 6E illustrates a post-event state of meeting note page 630. In FIG.6E, additional meeting note content, including a white board image, hasbeen input in meeting note input region 632. Media capture control 634has ceased to be displayed (e.g., in response to an input detected at alocation that corresponds to media capture control 634 while the mediacapture is in progress) and a captured media region 650 that includes arepresentation 652 of the captured media data is displayed.Representation 652 is, for example, a waveform representing capturedaudio as described further below in the Event Transcription Presentationsection. Captured media region 650 includes a playback control 654 forinitiating playback of the captured media. Representation 652 is marked,as shown at 656, to visually distinguish portions of the captured mediathat correspond to agenda items (e.g., as described further below withregard to FIGS. 14-17).

As shown in FIG. 6F, in response to input detected at a location thatcorresponds to a marker 656, text 670 that corresponds to a portion ofthe captured media that corresponds to an agenda item is displayed.

Task-Based Action Generation

As a milestone associated with a task approaches a current point in time(e.g., is approaching or has passed without an indication ofcompletion), it may be beneficial for people associated with the task tohave a meeting to discuss task status. However, scheduling a meetingtypically requires a user to manually provide input indicating variousaspects of the meeting, in addition to determining the people that needto be invited to the meeting. If a user does not remember to schedule ameeting associated with a task, a substantial amount of time may passbefore the missed milestone is addressed. There is a need for, based onstored information indicating how members of an organization areassociated with tasks (e.g., as described with regard to database schema500), automatically prompting generation of an action (e.g., a meetingto discuss a task). By automatically and/or semi-automaticallygenerating an action based on information (e.g., a milestone) associatedwith a task, embodiments described herein reduce the amount of userinput and time required to arrange for an action to occur.

FIGS. 7-8 are exemplary graphical user interfaces (e.g., event userinterfaces 310) illustrating task-based action generation. Action promptuser interface 700 includes information for generating an action (e.g.,an event 410, such as a meeting) based on a task 408. Action prompt userinterface 700 includes an indication of eligible action participants(e.g., members that are associated with the task, such as members thatare responsible for completing the task).

In some embodiments, the prompt user interface 700 includes identifyinginformation 702 for the task (“Prepare group presentation for marketingsummit”), information 703 associated with a milestone of a task 408(e.g., “75% milestone in one week, on September 28!”), information 704indicating members and/or a division associated with a task (e.g.,“Marketing Presentation Team”), and identifying information 705 foreligible action participants (e.g., Amanda Jenkins, Robert Crane, andSophia Hoffman). Based at least upon the status of the milestone, theaction prompt interface 700 is displayed to prompt a user to generate anaction. A set of controls 706 enable selection of eligible participantsfor the action. The prompt 700 may include additional controls that,when selected, cause client device 300 to perform various operations.For example, in response to detecting an input at a location thatcorresponds to control 710, client device 300 displays a user interfacefor adjusting action prompts (e.g., allowing a user to specify whetheraction prompts are displayed before a milestone date or after amilestone date and/or to specify amount of time between a milestone dateand display of an action). Additional controls include a rejectioncontrol 716 for rejecting the suggestion to generate an action, an“Adjust Action Prompts” control 710 for adjusting one or more parameters(e.g., amount of time before milestone end date at which prompt 700 isdisplayed, amount of time after milestone end data at which prompt 700is displayed and/or milestone completion rate threshold below whichprompt 700 is displayed) that cause prompt 700 to be displayed, a“Remind me Later” control 712 that causes the prompt to be redisplayed(e.g., after a predefined or user-selected period of time), and anacceptance control 714 (e.g., for generating the action or forproceeding to an action confirmation user interface 710)

FIG. 8 shows an exemplary action confirmation user interface 800including a suggested meeting date 803, suggested meeting time 804,selected participants 806, and a suggested agenda 808. In someembodiments, suggested meeting time 804 is determined based on apre-defined preference (e.g., provided via user input or learned frompast schedule meetings). In some embodiments, suggested meeting time 804is determined based on stored schedule information of the selectedeligible action participants (as selected via input at controls 706). Insome embodiments, suggested agenda 808 is automatically generated basedat least in part on information associated with the task (e.g., asindicated by task identifying information 538). The notification mayinclude control 810 for changing the suggested meeting time, control 812for adjusting (e.g., adding and/or removing) meeting participants, andcontrol 816 for adding content items to generated action information(e.g., automatically adding content items that are associated with: theselected eligible participants, the task that was the basis fordisplaying the prompt, and/or a project of which the task is a part).For example, the added content items are stored as event content asdescribed with regard to Event_Content table 535. Control 818, whenactivated, causes action information to be transmitted to the selectedeligible action participants. Control 822, when activated, causes acancellation action (e.g., ceasing to display action confirmation userinterface 800 and/or redisplaying prompt user interface 700).

FIG. 9 is a flow diagram illustrating a method 900 for task-based actiongeneration in accordance with some embodiments. The method 900 isperformed at a device, such as server 200. For example, instructions forperforming the method 900 are stored in the memory 202 and executed bythe processor(s) 252. In some embodiments, part or all of method 900 isperformed at a client device 300 (e.g., instructions for performing partor all of the method 900 are stored in memory 304 and executed byprocessor(s) 352).

In some embodiments, the device receives (902) (e.g., from a clientdevice 300) a definition of a group that includes identifyinginformation for a plurality of group members associated with a groupactivity (e.g., a task 408 as described with regard to FIG. 4 and taskstable 536 of FIG. 5) and the definition of the group includes amilestone (e.g., as described with regard to milestones table 542). Forexample, the definition of the group is received via user input (e.g.,user input entered on a client device 300 and transmitted to server 200for storage by a database as described with regard to FIGS. 5A-5C). Insome embodiments, the plurality of group members are members of anorganization 402, members of a division of an organization (e.g., asindicated in Division_Members table 512), members associated with aproject, and/or members associated with a task (e.g., as described withregard to Task_Members table 540). For example, the identifyinginformation includes data entries that correspond to the Member_IDcolumn of Task_Members 540.

In some embodiments, the definition of the group includes one or morecontent items (e.g., content items 508, FIG. 5A) corresponding to thegroup (e.g., as described with regard to FIG. 8).

In some embodiments, group members without action authority (e.g., asdefined in Member_Role of members table 506, FIG. 5A) have limitedand/or no access to action information. For example, a group may includemembers assigned to a specific task and other members who are notassigned to the task. The group members assigned to the task may haveaction authority and additionally have access to action information. Theother group members not assigned to the task may have limited or noaccess to action information (e.g., be closed off from viewing,downloading, and/or editing the action information). In someembodiments, eligible participants for an action are determined inaccordance with action authority and/or access permissions defined forone or more members (e.g., members associated with a task that is thebasis for generating an action).

In some embodiments, the device determines one or more eligible contentitems (e.g., content items 508, FIG. 5A) that are a subset of thecontent items corresponding to the action and the displayed prompt 700includes the one or more eligible content items. For example, the promptfor the action includes attachments of meeting/action notes for the taskcreated by a group member who is also an eligible action participant.

In some embodiments, the first task was generated (e.g., automaticallyor in response to user input) during a prior action (e.g., previouslydecided action item from last week's meeting). For example, a groupmember logged the task into the meeting UI (e.g., input region 640, FIG.6D). In another example, the system created the task based on ananalysis of the meeting transcript (e.g., a speaker stated, “Chuck willhandle development of the presentation for the next sales meeting”).

The device stores (904), by a storage device, the group definition. Forexample, event management module 208 stores group definition informationin Task_Members table 540.

The device receives (906) first task information for the first task(e.g., an action item, a decision item, a meeting agenda item, and/or adeliverable) that corresponds to the group, wherein the first taskinformation includes a milestone that corresponds to the first task andidentifying information for the first task. For example, eventmanagement module 208 stores task information in tasks table 536 andmilestone information in milestones table 542. In some embodiments, thefirst completion date is a due date and/or time, a date from a series ofdue dates associated with the task, and/or a range of dates thatcorrespond to the task.

In some embodiments, the first task information (e.g., Task_ID of taskstable 536, FIG. 5B) identifies at least one group member associated withthe first task and eligible action participants include the at least onegroup member (discussed in more detail below).

In some embodiments, the action information includes an agenda (e.g.,Event_Agenda of events table 530, FIG. 5B) that is automaticallygenerated based on the first task information. For example, the taskinformation includes sub-tasks with sub-milestones, and the agenda isautomatically generated based on the statuses of the sub-tasks andsub-milestones. In another example, a project includes multiple tasksand all related tasks from the project are automatically input into theagenda. In some embodiments, only the tasks that have not been startedand/or are incomplete are automatically input into the agenda.

In some embodiments, the agenda (e.g., Event_Agenda of events table 530,FIG. 5B) is automatically generated based on eligible actionparticipants. For example, all tasks associated with the eligible actionparticipants are included in the agenda.

In some embodiments, generating the agenda includes determining at leastone task dependency associated with the first task (e.g., a parent taskthat depends on the task or a child task on which the task depends) andincluding, in the agenda, the first task and a second task that has atask dependency relationship with the first task.

The device stores (908) by the storage device, the first taskinformation. For example, event management module 208 stores taskinformation in Task_ID table 536.

At a time that corresponds to the milestone, the device determines (910)a milestone status. For example, milestone status information is storedin milestones table 542, FIG. 5B. A prompt is displayed (or notdisplayed) in accordance with a determination of the milestone status.For example, in accordance with a determination, based on the determinedmilestone status, that an action is required, the flow proceeds tooperation (912) In accordance with a determination that no action isrequired, the flow returns to operation (910).

In some embodiments, a milestone status is determined (e.g., by eventmanagement module 208 using information stored in milestones table 542)using a milestone status, time remaining to milestone end date,remaining time until milestone end date, rate of execution, and/orpercentage completion. For example, a prompt is displayed in accordancewith a determination that prompting criteria are met (e.g., a taskmilestone has not been completed, a remaining time until a milestonecompletion date is below a predetermined amount, a time after acompletion date is above a predetermined amount, a rate of execution ofthe first task is below a threshold value (e.g., based on a user definedor automatically determined rate value), and/or a percentage completionamount of the milestone is below a predetermined amount). In someembodiments, no prompt is displayed in accordance with a determinationthat prompting criteria are not met. In some embodiments, the milestonestatus is determined periodically, in response to user input, and/orautomatically at a time that corresponds to the milestone (e.g., withina week of the date that the milestone was established).

In some embodiments, the first task includes a set of subtasks. In someembodiments, determining the milestone status (e.g., by event managementmodule 208) includes determining a completion status of at least onesubtask in the set of subtasks. For example, it may be desirable togenerate a prompt for an action based on a number and/or proportion of aset of subtasks that have been completed (e.g., if fewer than athreshold number and/or proportion of the subtasks have been completedat the time that corresponds to the milestone, a prompt is displayed forgenerating an action).

At operation 912, the device displays (912) a prompt (e.g., prompt 702,FIG. 7 and/or action confirmation user interface 800) for generating theaction (e.g., action generation 210, FIG. 2). The displayed promptincludes identifying information for the first task and for eligibleaction participants (e.g., users associated with the task, users thathave participated in meetings that are relevant to the task and/or thegroup, users associated with content that corresponds to the task and/orthe group, and/or users who have performed a search relevant to the taskand/or group) where the eligible action participants include at least asubset of the group members. In some embodiments, “users” are users of agroup management system (e.g., Evernote). In some embodiments, “users”are associated with (e.g., invitees) of actions (e.g., group meetingevents) managed by the group management system.

In some embodiments, the eligible action participants are determined inaccordance with access parameters (e.g., Member_Role of members table506, FIG. 5A) defined for group members.

In some embodiments, the action is updated based on a detected change ofthe milestone status (e.g., input indicating that a milestone date orstatus has changed). For example, the action is moved to a differentdate and/or time based on a change of the milestone status. In someembodiments, the prompt (e.g., prompt 702, FIGS. 7-8) to generate theaction is updated based on a detected change of the milestone status.For example, the prompt to generate the action (e.g., meeting invite) isupdated based on a milestone status change (e.g., a group memberrecently marked the task as completed).

The device receives (914) an indication of selected eligible actionparticipants. For example, as shown in FIG. 7, a user selects AmandaJenkins and Robert Crane as eligible action participants to be invitedto the action and Sophia Hoffman is an unselected eligible participant.

The device transmits (916), to the selected eligible actionparticipants, action information (e.g., including a group eventinvitation and/or calendar event) corresponding to the action. Forexample, as discussed with respect to FIG. 7, action information istransmitted information to the eligible action participants inaccordance with a determination that a user has selected option 714(e.g., option “Yes”).

In some embodiments, the device automatically includes eligible contentitems in the action information transmitted to the selected eligibleaction participants. For example, FIG. 8 shows a suggested agenda 808that is automatically attached to the action information. In someembodiments, one or more eligible content items including an agenda areautomatically sent to the selected eligible action participants. In someembodiments, one or more eligible content items including an agenda maybe sent to a group member who has managerial or supervisory authority(e.g., as defined in Member_Role and/or Hierarchal_Rank of members table506, FIG. 5A) but who is not one of the selected eligible actionparticipants.

In some embodiments, the action is updated based on a detected change ofa status (e.g., access status, availability status, position change) ofone or more of the selected eligible action participants.

In some embodiments, in response to detecting a change of status of oneor more action participants, the device displays a prompt to transmitupdated action information. For example, if a new member is removed fromor added to a group, the action prompt user interface 700 may display anupdated prompt to transmit action information in accordance with thechanged status. In some embodiments, a status change occurs whenavailability of a selected eligible participant changes (e.g., theaction participant becomes unavailable during a scheduled time for anaction.

In some embodiments, action information includes an action parameterdetermined based on stored action preference data (e.g., associated withan action, task, member, division, project, and/or enterprise).

In some embodiments, the device stores action summary data thatcorresponds to the action and updates the action preference data basedon the action summary data. For example, the device uses machinelearning to store and/or adjust stored action preference data (e.g.,based on learned preferences and/or behavior regarding generation ofactions). Action preference data may include a set of defined actionpreferences including room, time, duration, number of people,automatically inviting managers, requesting food and/or drinksinformation. For example, a user has a preference for starting an action(e.g., meeting) at 10:30 am on Friday mornings. This information may besaved and/or stored as action information.

Action preference data may be retrieved and/or learned based on storedaction summary data and/or in response to user input (e.g., user inputprovided in a form). In some embodiments, a template including theaction preference data is updated iteratively by a machine learningprocess. For example, based on a determination that six out of tenagenda items were covered during an event, action preference data isupdated (e.g., to indicate that six or fewer agenda items are to beincluded in an agenda for a future action).

In some embodiments, action preference data is updated in response touser input. For example, at the end of an action, a prompt is displayedin the action UI asking the user for feedback regarding the meeting. Thefeedback may include an indication of whether the meeting length was tooshort, too long, or acceptable. In some embodiments, based on thereceived user input in response to the prompt, the stored actionpreference data is updated and applied to a future action. In someembodiments, updates determined based on an action are applied to actionpreference data that corresponds to other members associated with atask, division, enterprise, or such.

Event Transcript Presentation

A method is provided for displaying a visual representation of a groupevent to a user. The representation includes information about agendaitems that were discussed during the group event. For example, a devicecaptures media data, such as audio and/or video data, during the groupevent and creates (e.g., generates) a representation based on thecaptured media data. In some embodiments, the representation includesvisual markers indicating one or more points (e.g., time frames) duringthe group event that a given agenda item was discussed. In someembodiments, the representation provides a portion of a transcriptionthat corresponds to a portion of the representation to indicate what waspresented during a given time frame. In some embodiments, therepresentation is interactive such that user can select (e.g., via auser input), different time frames of the representation in order toexplore the group event. The method provided herein allows users toeasily access information discussed during group events (e.g., meetings)even after the group event has ended.

Manually transcribing discussions about each agenda item during a groupevent is inefficient and prone to user error. Further, agenda items maybe discussed multiple times (e.g., in multiple time frames) during thegroup events. Providing a user with an automatically generatedrepresentation that indicates when (e.g., during which time frames) aparticular agenda item was discussed and providing more detailedinformation regarding what was presented (e.g., discussed) about theagenda item during the group event improves user experience bypresenting the user with an improved graphical user interface fordisplaying and navigating stored media data. Automatically generatingthe representation and assigning agenda items to particular time framesof the representation improves the man-machine interface by requiringless user input (e.g., a user does not manually transcribe and organizenotes from an event).

FIGS. 10A-10B are graphical user interfaces illustrating arepresentation of media data captured during a group event, inaccordance with some embodiments. The graphical user interfaces includea region that includes a plurality of agenda items 1002, including theagenda items: “Campaign updates” 1002-1, “Project planning” 1002-2,“Team updates” 1002-3, and “Next steps” 1002-4. In some embodiments, theplurality of agenda items is generated from existing information storedby a data structure. FIGS. 10A-10B also illustrate a representation 652of media data.

The device captures media data during the group event. For example, atthe start of a group event (e.g., meeting) a user selects a control 644as described with regard to FIG. 6C to begin media data capture. In someembodiments, the media data is captured from one or more client devices300 (e.g., as described with regard to FIG. 1) that are located at thegroup event (e.g., in event space 106, such as a meeting room). In someembodiments, the media data is captured from a single device (e.g., amedia presentation system). In some embodiments, the media data iscaptured by any media recording device, capable of receiving (e.g.,capturing) and/or storing media (e.g., audio and/or video) data. In someimplementations, the device capturing the media data includes audioprocessing capabilities (e.g., voice recognition/processing).

The representation 652 of media data is generated during and/or afterthe group event. In some embodiments, the representation 652 isdisplayed during the group event and is dynamically updated. Forexample, the representation 652 comprises a waveform that is generatedalong a timeline, where the waveform extends along the timeline as mediadata is captured over time.

The captured media data is converted to a searchable version of themedia data. In some embodiments, the device (e.g., client device 300and/or server 200) converts the media data during the group event (e.g.,in real-time). The device uses the converted media data to analyze theprogress of the group event. For example, the device determines whichagenda items are being discussed during the group event, when the agendaitems are discussed, creates a searchable (e.g., text) version of thecaptured media data, and/or displays a representation to present thisinformation to a user. Thus, a user can easily navigate different topics(e.g., agenda items) and identify (e.g., using the representation 652)selected portions of the group event that are relevant to the user. Forexample, rather than a user listening to a recording of a full meetingand manually skipping through the recording, the representation breaksdown (e.g., by agenda item) and displays visually distinguished portions(e.g., time frames), on a timeline, to the user, such that the user caneasily identify which portions of the captured media data are relevantto that user's needs.

In some embodiments, the representation includes a plurality of markers.For example, each of the plurality of markers indicates when a new topic(e.g., a new agenda item) is being discussed. In response to receiving auser input on a marker 656, the computing device generates and displaysinformation 670 related to the marker. For example, the information 670comprises text that corresponds to the marker 656. The text, forexample, is a transcription of audio data that was captured at the timecorresponding to that marker 656.

FIGS. 11A-11E illustrate an exemplary representation of media data 652.The representation 652 shown in FIGS. 11A-11E is a waveform (e.g., audiowaveform) 1000 that corresponds to audio captured during a group event.In some implementations, the representation 652 comprises a plurality offrames (e.g., video frames). The waveform 1000 (or representation 652)is generated based on media data (e.g., audio data) captured during agroup event. In some implementations, the representation 652 isdisplayed on a timeline 1006.

FIG. 11A illustrates that portions of the representation have beendetermined to correspond to various agenda items. For example, a firstportion of the representation 1004-1 corresponds to Agenda item A (e.g.,the device determines that Agenda item A was discussed during the timeframe of portion 1004-1). A second portion of the representation 1004-2corresponds to Agenda item B. A third portion of the representation1004-3 also corresponds to Agenda item A. Portion 1004-4 corresponds toan Agenda item C, portion 1004-5 corresponds to an agenda item B, andportion 1004-6 corresponds to Agenda item C. Thus, more than one portionof the representation 652 can correspond to a same agenda item. In someembodiments, more than one agenda item can correspond to a same portion(e.g., if two agenda items are closely related, a portion can beassociated with both agenda items). In some embodiments, each portion isonly associated with a single agenda item (e.g., cannot be associatedwith more than one agenda item).

FIG. 11B illustrates an example of the device receiving a user input1008. In some embodiments, user input 1008 comprises hovering over orselecting a portion of the representation. For example, user input 1008corresponds to portion 1004-1, which corresponds to an Agenda item A. Inresponse to the user input 1008, the device visually distinguishesportion 1004-1 (e.g., as shown by the emphasized/bolded waveform withinportion 1004-1) compared to at least a portion (e.g., remainingportions) of the representation. For example, the waveform 1000 inportions 1004-2 through 1004-6 is not bolded in FIG. 11B. Thus, a usercan easily identify the time frame (e.g., portion of the representation)in which the agenda item (selected by the user input) was discussed.

In some embodiments, in response to the user input 1008, the devicedisplays information related to the selected portion. For example, thedevice displays text box 1102-1, which contains information related toAgenda item A, such as displaying the agenda item text “campaignupdates” (e.g., the text corresponding to the agenda item 1002-1, FIG.10A). In some embodiments, the device displays text comprising atranscription (e.g., determined by speech-to-text processing) of themedia data that was captured during the time frame corresponding to theportion. In some embodiments, the device displays information about aperson, such as the speaker of the media data during the time framecorresponding to the portion and/or a person associated with the agendaitem (e.g., or task generated) corresponding to the portion.

In some embodiments, the device determines that an additional time frame(e.g., time frame corresponding to portion 1004-3) corresponds to a sameagenda item (e.g., Agenda item A). In some embodiments, the devicevisually distinguishes (e.g., highlights) all portions 1004 thatcorrespond to a same agenda item. For example, in response to a userinput 1008 on portion 1004-1 corresponding to Agenda item A, the devicedetermines that portion 1004-3 also corresponds to Agenda item A. Inaccordance with the determination that portion 1004-1 and 1004-3correspond to Agenda item A, the device visually distinguishes bothportions. For example, the device emphasizes, bolds, highlights and/ordisplays text boxes 1102 on both portion 1004-1 and portion 1004-3, asshown in FIG. 11B. The text boxes 1102-1 and 1102-2 may include the sametext or may include distinct text. For example, both text boxes 1102-1and 1102-2 include the Agenda item 1002-1 “Campaign updates.” In someembodiments, the text boxes include distinct text, such astranscriptions indicating the media data that was captured during therespective portion.

FIG. 11C illustrates another example of a user input 1109 on anotherportion 1004-5 of the waveform 1000. The user input 1109 corresponds toan agenda item B. Portion 1004-2 also corresponds to Agenda item B. Asshown in FIG. 11C, in some embodiments, the device only visuallydistinguishes the portion selected by the user input 1009, in thisexample portion 1004-5. Here, portion 1004-5 is emphasized/bolded and atext box 1102-4 including information about the selected agenda item(e.g., “Project planning”) is displayed. In some embodiments, the devicedoes not visually distinguish the other portions (e.g., portion 1004-2)that correspond to a same agenda item (e.g., Agenda item B) as theagenda item associated with the user input.

FIG. 11D illustrates another example of a user input 1110 on a portion1004-6 corresponding to Agenda item C. In some embodiments, the devicevisually distinguishes the portion selected by the user input 1110 morethan the other portions associated with the same agenda item. Forexample, as shown in FIG. 11D, the device emphasizes/bolds the waveform1000 and displays text box 1102-6 in portion 1004-6, but only displaystext box 1102-5 without emphasizing/bolding the waveform in portion1004-4.

It is to be understood that any combination of user inputs, as describedabove, can be received. For example, a user can select multiple portionssuccessively, as if moving (e.g., scrolling) through the representation652. Further, in some embodiments, an additional user input can bereceived that causes the device to provide more detailed informationabout the portion associated with the user input. For example, a userinput (e.g., hovering) over the waveform 1000 results in visuallydistinguishing the selected portion (as explained above with referenceto FIGS. 11B-11D) and a second user input (e.g., clicking) on thewaveform 1000 results in displaying more information about the selectionportion (e.g., information about a speaker of the portion, atranscription of the portion, a link to a note related to the portion,etc.).

FIG. 11E illustrates a representation of captured media data in responseto a search. As described with respect to FIGS. 11A-11D, a plurality ofportions 1004 corresponding to distinct time frames has been identifiedby the device, each portion associated with an agenda item. In someembodiments, a user searches the captured media data. For example, auser inputs a key term (e.g., “Key Term A”) in a search bar or otheruser interface element that, when activated, causes the device to searchthe captured media data. Thus, instead of the user identifying portionsassociated with a particular agenda item, as described above withreference to FIGS. 11A-11D, the user can identify time frames in therepresentation that are related to a key term (e.g., that does notcorrespond directly to a particular agenda item). In some embodiments,the key term corresponds to a person (e.g., the user searches for alltime frames associated with a particular speaker). In some embodiments,the key term corresponds to a phrase or topic. In some embodiments, thekey term corresponds to an agenda item.

In response to the user input corresponding to a search, the devicesearches the captured media data and identifies (e.g., determines) atime frame, if any, of the media data that corresponds to the key term.For example, the identified time frame does not correspond to the firstportion corresponding to the first time frame associated with the firstagenda item. In some embodiments, the time frame identified based on thekey term comprises a sub-portion of the first time frame. For example,FIG. 11E shows the device identifies time frames 1114-1, 1114-2 and1114-3. The device visually distinguishes the identified time frames byemphasizing/bolding/highlighting the waveform 1000 during the timeframes 1114 and displaying text boxes 1112-1, 1112-2 and 1112-3. In someembodiments, the text boxes include the key term (e.g., “Key Term A”).In some embodiments, the text boxes 1112 include information related tothe time frames 1114. In some embodiments, the device searches thecaptured media data for key terms based on how frequently the key termoccurs in the captured media data.

FIG. 12 illustrates a graphical user interface during an event. Thegraphical user interface 630 is displayed during the group event whilemedia data continues to be captured (e.g., as indicated by the option to“end recording” user interface element 634). In some embodiments, duringthe event, a visual prompt 1202 is displayed during the user. In someembodiments, the visual prompt 1202 appears in response to a length (oftime) of the event satisfying a threshold. For example, the visualprompt 1202 appears after 25 minutes of the event has passed. In someembodiments, the visual prompt 1202 appears in response to adetermination of a threshold duration remaining with respect to ascheduled amount of time for the event. For example, for an event thatis scheduled for 30 minutes, the visual prompt 1202 appears when thereis a threshold duration (e.g., 5 minutes or less) of time remaining inthe schedule amount of time. In some embodiments, the visual prompt 1202appears in response to a user input (e.g., a user request).

In some embodiments, the visual prompt 1202 includes an indication ofthe duration of the event (e.g., how much time is remaining). In someembodiments, the visual prompt 1202 includes information related to thecaptured media data during the event. For example, the devicedetermines, based on the plurality of agenda items and the capturedmedia data, which of the agenda items, if any, had been captured (e.g.,discussed) during the event and which of the agenda items, if any, hadnot been captured during the event. The prompt 1202 then includesinformation indicating which agenda items have not yet been captured.Thus, attendees of an event can easily determine, from the visual prompt1202, how much time is remaining for the scheduled event and/or whichagenda items were not yet discussed.

FIGS. 13A-13B are flow diagrams illustrating a method 1300 fordisplaying a representation of media data that corresponds to a groupevent, in accordance with some embodiments. The method 1300 is performedat a device, such as server 200. For example, instructions forperforming the method 1300 are stored in the memory 202 and executed bythe processor(s) 252. In some embodiments, part or all of method 1300 isperformed at a user device 300 (e.g., instructions for performing partor all of the method 1300 are stored in memory 304 and executed byprocessor(s) 352).

The device receives (1302) data that includes indications of a pluralityof agenda items (e.g., agenda items stored and/or generated for ameeting) that correspond to the group event. In some embodiments, theindications of the plurality of agenda items are received by server 200via one or more data transmissions. For example, the plurality of agendaitems (e.g., agenda items 1002, FIG. 10A) is stored and retrieved frominformation compiled by an organization in an organization datastructure (e.g., that collects and stores information over a time framesuch that the information is usable to automatically generate theplurality of agenda items). In some embodiments, the plurality of agendaitems is automatically generated based on information (e.g., tasks)stored by an organization data structure (e.g., as described with regardto FIG. 4). For example, the plurality of agenda items is determinedbased on information stored in Event_Tasks table 538 and/or from a setof tasks that are associated with a particular project (e.g., indicatedby a Project_ID in tasks table 536). In some embodiments, the groupevent (e.g., meeting) is automatically generated as described above withreference to FIGS. 14-16. In some embodiments, additional agenda items(e.g., tasks 408) are added (e.g., automatically by the device and/ormanually by a user) to the agenda shown in meeting note page 630.

In some embodiments, the plurality of agenda items is automaticallygenerated based on an invitation related to the group event. Forexample, the group event is associated with a group event invitation(e.g., meeting invitation or calendar event). In some embodiments, theplurality of agenda items is automatically generated, without userinput, based on text and/or attachments included in the group eventinvitation. In some embodiments, the plurality of agenda items isgenerated based on members associated with the group event (e.g., asindicated by data stored in Event_Members 534 and/or Task_Members 540).

In some embodiments, the plurality of agenda items is generated based oninformation from a plurality of agendas. For example, the organizationdata structure stores information (e.g., tasks and/or agendas) frommultiple sources (e.g., a plurality of distinct groups in theorganization and/or a plurality of distinct projects) and automaticallycombines the information collected into a single group event. Thus, theplurality of agenda items generated for the group event includes agendaitems from a plurality of sources. In some embodiments, the devicedetermines, from the media data, a respective agenda of the plurality ofagendas that corresponds to (e.g., includes) a current agenda item. Forexample, the device determines that a current agenda item (e.g., themedia data corresponding to the agenda item is currently being capturedby the device) is associated with a first agenda (e.g., source) of theplurality of agendas (e.g., sources). In some embodiments, displayingthe representation of the media data includes displaying an indicationof the determined agenda of the plurality of agendas that corresponds tothe current agenda item. Thus, the device determines and displays whichagenda (e.g., source) is associated with the current agenda item.

In some embodiments, the received data includes indications of aplurality of group event attendees (e.g., as indicated by data stored inTask_Members 540). For example, the device determines the group eventattendees based on the invitees included in the group event invitationand/or by group event attendees identifying themselves during the event.In some embodiments, the device identifies (1314) a first attendee ofthe plurality of group event attendees and determines, based on thefirst attendee, the first agenda item of the plurality of media items.For example, the device determines that the first agenda item includes atask associated with (e.g., assigned to) the first attendee ordetermines that the first agenda item corresponds to a project that isrelated to the first attendee. In some embodiments, the associationbetween the first attendee and the first agenda item is stored in anorganization data structure. In some embodiments, the first attendee isa speaker/presenter of the first agenda item. In some embodiments, thedevice identifies the first attendee as the person to whom a task and/ordecision is assigned.

In some embodiments, the first agenda item is determined and identified(e.g., in the searchable version of the media data) in the media databased on an attendee (e.g., a person associated with the first agendaitem) and a portion of the media data (e.g., a phrase) corresponding tothe task (e.g., a title of the task or stored text content of the task).For example, the device identifies the attendee (e.g., as a speaker orpresenter), and based on the identified attendee's association with theagenda item, the device determines that media data associated with theagenda item is being captured while the identified attendee ispresenting. In some embodiments, the device identifies the firstattendee by voice processing (e.g., proximity and/or frequencyanalysis).

During the group event, the device captures (1304), by a media recordingdevice, media data (e.g., audio, video, text input, whiteboard input,and/or content input). During the group event, the device converts(1306) (e.g., via a speech-to-text process) the captured media data to asearchable (e.g. text) version of the media data. In some embodiments,converting the captured media data to the searchable version of themedia data includes performing (1308) speech-to-text processing andcomparing text obtained from the speech-to-text processing with textthat corresponds to the plurality of agenda items.

The devices searches (1310) the searchable version of the media data todetermine (1312) a first time frame of the media data that correspondsto a first agenda item of the plurality of agenda items. The devicedisplays (1316), in a user interface (e.g., user interface 310) that isaccessible to at least one user associated with the group event, therepresentation (e.g., representation 652) (e.g., an audio waveformand/or a set of frames of video as described with reference to FIGS.11A-11E) of the media data. A first portion of the representation of themedia data that corresponds to the first time frame is visuallydistinguished (e.g., highlighted and/or marked with text, an image, or aselectable control) from at least a portion of the representation of themedia data that does not correspond to the first time frame.

In some embodiments, the representation 652 comprises a set of frames ofvideo and the first portion of the representation of the media dataincludes a first frame of the set of frames of video, the first framehaving a visually distinguishing feature. (e.g., the frame ishighlighted)

In some embodiments, the representation 652 comprises an audio waveform(e.g., as shown in FIGS. 11A-11E) and the first portion of therepresentation of the media data includes a visually distinguished(e.g., highlighted, zoomed, bolded, etc.) portion of the audio waveform,such as portion 1004-1 in FIG. 11B.

In some embodiments, the device receives an input (e.g., user input1008) corresponding to the first portion of the representation thatcorresponds to the first agenda item. The device identifies anadditional portion of the representation that corresponds to the firstagenda item. In response to the input, the device displays the firstportion and the additional portion as visually distinguished from the atleast a portion of the representation of the media that that does notcorrespond to the first agenda item, as shown and described withreference to FIG. 11B.

In some embodiments, the device receives a user input (1318) associatedwith the first portion of the representation of the media data. Inresponse to the user input, the device displays text (e.g., in text box1102-1, FIG. 11B) that corresponds to the first agenda item. Forexample, in response to a hover (e.g., mouseover) of the annotated“first portion” 1004-1, text 1104 and/or text 1106 that corresponds tothe agenda item is displayed.

In some embodiments, displaying the first portion of the representationincludes displaying text that corresponds to the first agenda item. Insome embodiments, the text comprises a link (e.g., a uniform resourcelocator) to information that corresponds to the first agenda item. Forexample, the link is associated with a note page associated with aproject related to the group event or an event invitation. The link,when activated, causes the device to display the linked note page and/orevent invitation to the user. Thus, a user can access (e.g., byselecting the link) more detailed information related to the textdisplayed in the text boxes 1102.

In some embodiments, information corresponding to a speaker at the groupevent is displayed at a location in the user interface that correspondsto the first portion of the representation. For example, a speaker(e.g., or presenter) “Sam Jackson” 1106 that corresponds to the firstportion 1004-1 of the representation 652, is displayed in the userinterface shown in FIG. 11B. In some embodiments, informationidentifying at least one person associated with the first agenda item isdisplayed at a location in the user interface that corresponds to thefirst portion of the representation. For example, the at least oneperson could be the speaker, presenter, or a person assigned to a taskassociated with the first portion.

In some embodiments, the representation of the media data is updated(1320) as the media data is captured.

In some embodiments, the device searches the searchable version of themedia data to determine a second time frame of the media data thatcorresponds to a key term associated with the group event, as describedwith reference to FIG. 11E. In some embodiments, displaying therepresentation of the media data includes displaying a second portion ofthe representation of the media data that corresponds to the second timeframe. In some embodiments, the device searches the searchable versionof the media data to determine time frames that correspond to termsand/or phrases that are significant (e.g., frequently occurring,highlighted, tagged, frequently included in search queries) in contentthat is stored by an organization data structure for a group. Forexample, the device determines phrases that are significant to a certainproject based on how often members of the project use the phrase andvisually distinguishes portions of the timeline of media data thatinclude the significant phrase.

In some embodiments, during the group event, the device displays (1322)a prompt during the event based on the captured media data and theplurality of agenda items, as described with reference to FIG. 12.

In some embodiments, after completion of the group event, the devicedetermines (1324), using the searchable version of the media data, whichagenda items (e.g., if any) of the plurality of agenda items were notcaptured during the group event. For example, the device analyzes themedia data, after the meeting, to determine an amount (e.g., percentage)of the agenda items that were discussed compared to the total number ofagenda items that were included in the agenda. In some embodiments, thedevice calculates and assigns a score to the group event and/orattendees that indicates how many of the agenda items were captured(e.g., discussed) during the group event and/or how long (e.g., inminutes) was spent on a given agenda item. This score can be assignedand used over a time period to compare a plurality of group eventswithin the organization (e.g., compare the group events across anindustry).

Relationship-Based Search

Storing data related to an organization 402, as described with regard toFIG. 4 and FIGS. 5A-5C, allows information about relationships betweenmembers of an organization to be used for improving search results. Forexample, members of various units within an organization may frequentlyperform similar searches and therefore stand to benefit fromprioritization of search results from similar parts of the organization.In an organization with members at different hierarchal ranks (e.g.,engineering head, engineering managers, senior engineers, juniorengineers), information that is related to members in a similarhierarchal rank may be more beneficial to a user than information thatis related to members in a higher or lower rank. Accordingly, inaccordance with embodiments described herein, search results areimproved by using a hierarchal rank within an organization to prioritizeand/or select a search result.

FIG. 14 illustrates an exemplary search user interface 1400 fordisplaying search results, in accordance with some embodiments. A userhas provided search input 1402 (the term “quotes” in search input field614 of navigation region 612. Search results 1404 (“MeetingNotes—Marketing Team Weekly Sync”), 1406 (“Quarter 3 Presentation”), and1408 (“Product demo: Generating Quotes Using Estimator UI”) aredisplayed. In some embodiments, content items 1404-1406 correspond torespective content items (e.g., content 406 stored in content itemstable 508). A detail view 1410 of a content item that corresponds tosearch result 1404 is displayed in content display region 1408. Thesearch term “quotes” is visually distinguished within the detail view1410, as indicated at 1412.

FIG. 15 is a conceptual illustration of hierarchal rank in anorganization 402, in accordance with some embodiments. Member P1 is amember 412 in a highest rank 1502 (e.g., Rank 1). For example, member P1is a leader of an organization 402. Members P2, P3, and P4 are in a rank1504 (e.g., Rank 2) that is between rank 1502 and rank 1504. Forexample, P2, P3, and P4 are leaders of divisions within organization402. Members P5, P6, P7, P8, P9, and P10 are in a rank 1506 (e.g., Rank3) that is between rank 1504 and rank 1508. Members P11, P12, P13, P14,P15, P16, P17, P18, and P19 are in a rank 1508 (e.g., Rank 4) that isbelow rank 1506. The lines between members indicate direct relationships(e.g., management relationships between members. For example, P11 and P2are directly managed by P5, who in turn is managed by P2. In someembodiments, hierarchal rank is used as a basis for selecting and/orprioritizing search results delivered in response to a search request.For example, as described further below, if user P5 performs a searchfor which the determined search results include a first content itemassociated with P1 (e.g., as described with regard to Member_contenttable 415), a second content item associated with P2, a third contentitem associated with P3, and a fourth content item associated with P6,different priorities may be assigned to the first content item, thesecond content item, the third content item, and the fourth content itembased on the rank of P5 relative to P1, P2, P3, and P6 and/or based onwhether a direct relationship exists between P5 and P1, P2, P3, and P6.

FIG. 16 is a conceptual illustration of stored relationship-based weightdata, in accordance with some embodiments. In some embodiments, a weightassigned to a search result (e.g., a weight determined using acomparison between a hierarchal rank of a group member that correspondsto a search result (e.g., a content item) with the hierarchal rank ofthe first user) is stored. For example, user P5 performs a search andthe search results include a first content item associated with P2, asecond content item associated with P3, and a third content itemassociated with P6. A first weight is determined by comparing thehierarchal rank of P5 (Rank 3) with a hierarchal rank of P2 (Rank 2), asecond weight is determined by comparing the hierarchal rank of P5 witha hierarchal rank of P3 (Rank 2), and a third weight is determined bycomparing the hierarchal rank of P5 with a hierarchal rank of P6 (Rank3). Because P5 and P6 have the same hierarchal rank, a weight for thesearch result associated with P6 has a higher value (e.g., as indicatedat 1610) than a weight for the search result associated with P2 (asindicated at 1606). A weight associated with P2 has a higher value for asearch performed by P5 than a weight associated with P3 (as indicated at1608) because P5 has a direct relationship with P2. In some embodiments,the weight assigned to a search result is used to alter an existingrelationship value. In some embodiments, the values indicated in FIG. 16are based on information in addition to a hierarchal rank comparison. Avalue determined using a hierarchal rank comparison for a searchperformed by P1 for a search result that corresponds to P5 is indicatedat 1604.

FIG. 17 is a flow diagram illustrating a method 1700 for prioritizingsearch results based on hierarchal ranking, in accordance with someembodiments. The method 1700 is performed at a device, such as server200. For example, instructions for performing the method 1700 are storedin the memory 202 and executed by the processor(s) 252. In someembodiments, part or all of method 1700 is performed at a user device300 (e.g., instructions for performing part or all of the method 1700are stored in memory 304 and executed by processor(s) 352).

The device receives (1702) a definition of a group (e.g., anorganization 402 and/or a division as described with regard to divisionstable 504). For example, the definition of the group is received viauser input (e.g., user input entered on a client device 300 andtransmitted to server 200 for storage by a database as described withregard to FIGS. 5A-5C). The definition of the group includes identifyinginformation for a plurality of group members (e.g., members 412 asdescribed with regard to members table 506 and/or division_members 512).The definition of the group also includes an indication of a hierarchalrank of at least a subset of the plurality of group members. Forexample, the hierarchal rank is stored in the Hierarchal_Rank column ofmembers table 506. A hierarchal rank corresponds to a position of arespective member of the group relative to other members of the group(e.g., as described with regard to FIG. 15). The definition of the groupalso includes a plurality of content items that correspond to the group(e.g., content 406 as described with regard to Content_Items table 508)and identifying information indicating at least one group member of theplurality of group members that corresponds to a respective content itemof the plurality of content items (e.g., as indicated in Member_Contenttable 514).

The device detects (1704) a first search input by a first user. Forexample, the search input is entered in search input field 614 asdescribed with regard to FIG. 14. In some embodiments, the search isperformed on a content collection (e.g., all content associated with anorganization) or a portion of a content collection. In some embodiments,the search includes a web search (e.g., monitored by a contentmanagement platform and/or an enterprise that provides information tothe content storage service).

The device stores (1706) an indication of a hierarchal rank for thefirst user (e.g., in a local cache). For example, group analysis module230 retrieves a Hierarchal_Rank for the first user from members table506.

The device determines (1708) a plurality of search results based on thefirst search input. A first search result of the plurality of searchresults corresponds to a first content item of the plurality of contentitems. For example, as described with regard to FIG. 14, search result1404 corresponds to a content item “Meeting Notes—Marketing weeklysync.” A first weight is assigned (1710) to the first search result,wherein determining the first weight includes comparing a hierarchalrank of at least one group member that corresponds to the first contentitem with the hierarchal rank of the first user. For example, the atleast one group member created the content item, accessed the contentitem, edited the content item, and/or previously searched for thecontent item. In some embodiments, content associated with a groupmember that has the same hierarchal rank as the first user has higherweight than group member that has a different hierarchal rank. In someembodiments, the first weight is decreased as the difference between thehierarchal rank of the group member and the hierarchal rank of the firstuser increases. In some embodiments, content associated with users thatare related (e.g., a direct hierarchal connection, such as content of adirect manager of the first user) has a higher weight than users thatare not related. For example, as described with regard to FIG. 16, aweight associated with P2 has a higher value for a search performed byP5 than a weight associated with P3 (as indicated at 1608) because P5has a direct relationship with P2. In some embodiments, determining afirst weight includes determining additional factors such as time of dayof the search (e.g., to prioritize search results relevant for the timeof day), connection of the content item to a project that is associatedwith the first user (e.g., as described with regard to Project_Contenttable 516, for a user that is connected to a task via tasks table 536and Task_Members table 540), a project associated with a member, and/orsearch similarity between group member and first user.

The device displays (1712) at least a portion of the plurality of searchresults (e.g., in search user interface 1400) in accordance withrespective weights assigned to respective search results.

In some embodiments, the first weight has an initial value (e.g., asearch similarity between the first user and the group member, which maybe stored as described with regard to FIG. 16), and, prior to assigningthe first weight to the first search result, the device adjusts theinitial value in accordance with a determination that the hierarchalrank of the at least one group member is the same as the hierarchal rankof the first user.

In some embodiments, prior to assigning the first weight to the firstsearch result, the device adjusts the initial value in accordance with adetermination that the at least one group member has a directrelationship with the first user.

In some embodiments, prior to assigning the first weight to the firstsearch result, the device adjusts the first weight in accordance with adetermination that the hierarchal rank of the at least one group memberdiffers from the hierarchal rank of the first by more than a thresholdamount.

In some embodiments, the device stores the adjusted initial value (e.g.,by updating a value of the table described with regard to FIG. 16).

In some embodiments, the device displays identifying information for theat least one group member that corresponds to the first content item.For example, as shown in FIG. 16, member identifying information (e.g.,“Creator: Chuck Snodgrass”) is displayed for search result 1404 as wellas for search results 1406 and 1408.

In some embodiments, the device displays identifying information for arespective group that corresponds to the first content item. Forexample, as shown in FIG. 16, group identifying information (e.g.,“Group: Marketing Team”) is displayed for search result 1404 as well asfor search results 1406 and 1408.

In some embodiments, the device stores the determined first weight, andin accordance with a determination that a hierarchal rank of arespective group member has changed, the device adjusts the determinedfirst weight. In some embodiments, the device adjusts the determinedfirst weight in accordance with a determination that a hierarchal rankof the first user has changed.

In some embodiments, in accordance with a determination that the firstweight meets first group criteria (e.g., criteria met in accordance witha determination that the first weight exceeds a predeterminedthreshold), the device displays a prompt that includes a suggestion toprioritize content items associated with at least one group thatcorresponds to the at least one group member.

In some embodiments, in accordance with a determination that the firstweight meets second group criteria (e.g., criteria met in accordancewith a determination that the first weight exceeds a predeterminedthreshold), the device displays a prompt that includes a suggestion toadd the first user to at least one group that corresponds to the atleast one group member.

In some embodiments, in accordance with a determination that the firstweight meets third group criteria (e.g., criteria met in accordance witha determination that the first weight exceeds a predeterminedthreshold), the device displays a control for filtering search resultsby at least one group that corresponds to the at least one group member.For example, a set of filters. For example, filter 1414, shown set to“All” in FIG. 14, includes an option for selecting an identifier of adivision that corresponds to the at least one group member. In someembodiments, the filter includes an option for selecting an identifierof a project that corresponds to the at least one group member.

In some embodiments, the definition of the group includes an indicationof a role (e.g., a position and/or title) of at least a subset of theplurality of group members, an indication of a role is stored for thefirst user, and determining the first weight includes comparing a roleof at least one group member that corresponds to the first content itemwith the role of the first user. A role is, for example, a Member_Rolestored in members table 506 (FIG. 5A). For example, the title “director”may belong to members with different hierarchal rank and, within ahierarchal rank, there may be members with the title “director” andmembers with different titles. A user performing a search may wish forcontent associated with members that have the same title as the user tobe prioritized in search results. In some embodiments, to performrole-based prioritization of a content item in a set of search results,a first weight may be increased (e.g., by a predetermined value orratio) in accordance with a determination that a role of a user matchesa role of a group member who is associated with the content item.

In some embodiments, the definition of the group includes an indicationof a subgroup association of at least a subset of the plurality of groupmembers, an indication of a subgroup that includes the first user isstored for the first user, and determining the first weight includesdetermining whether the subgroup that includes the first usercorresponds to a subgroup association of at least one group member thatcorresponds to the first content item. For example, a subgroup may be adivision (e.g., as described with regard to divisions table 504) of anorganization (e.g., as described with regard to organizations table502). A user performing a search may wish for content associated withmembers who are in the same subgroup as the user (e.g., as indicated byDivision_Members table 512) to be prioritized in search results. Forexample, if the user is a member of the engineering division, the usermay wish for content items associated with other members of theengineering division to be prioritized. In some embodiments, to performsubgroup-based prioritization of a content item in a set of searchresults, a first weight may be increased (e.g., by a predetermined valueor ratio) in accordance with a determination that a subgroup of the usermatches a subgroup of a group member who is associated with the contentitem.

In some embodiments, the device analyzes the plurality of content itemsto determine a set of characteristic terms (e.g., words, phrases, and/ortags) that correspond to respective members of the group. Characteristicterms are terms that are frequently searched for by members of a groupor subgroup and/or frequently included in content items associated withmembers of a group or subgroup. In some embodiments, characteristicterms are stored in Search_Terms table 560. A user performing a searchmay wish for content associated with terms that are characteristicallyused by particular members (e.g., terms associated with members of anorganization (as indicated by Organization_Search_Terms 562), termsassociated with members of a division (as indicated byDivision_Search_Terms 564) and/or terms associated with individualmembers (as indicated by Member_Search_Terms 566)) to be prioritized insearch results. For example, if members of an engineering divisiontypically use the acronym “POA” to mean portable object adapter andmembers of a legal division typically use the acronym “POA” to meanpower of attorney, a user performing a search using a search query thatincludes the term “POA” may wish for content items from the engineeringdivision and including the term POA to be prioritized over content itemsfrom other divisions that include the term POA. In some embodiments, toperform characteristic-term-based prioritization of a content item in aset of search results that correspond to a search term, a first weightfor a content item may be increased (e.g., by a predetermined value orratio) in accordance with a determination that the search termcorresponds to a characteristic search term associated with the user, adivision of the user, and/or a group of the user and the content itemincludes the characteristic search term.

Features of the present invention can be implemented in, using, or withthe assistance of a computer program product, such as a storage medium(media) or computer readable storage medium (media) having instructionsstored thereon/in which can be used to program a processing system toperform any of the features presented herein. The storage medium (e.g.,memory 202, 302) can include, but is not limited to, high-speed randomaccess memory, such as DRAM, SRAM, DDR RAM or other random access solidstate memory devices, and may include non-volatile memory, such as oneor more magnetic disk storage devices, optical disk storage devices,flash memory devices, or other non-volatile solid state storage devices.Memory 202, 302 optionally includes one or more storage devices remotelylocated from the CPU(s) 252, 352. Memory 202, 302 or alternatively thenon-volatile memory device(s) within memory 202, 302 comprises anon-transitory computer readable storage medium.

Stored on any one of the machine readable medium (media), features ofthe present invention can be incorporated in software and/or firmwarefor controlling the hardware of a processing system, and for enabling aprocessing system to interact with other mechanism utilizing the resultsof the present invention. Such software or firmware may include, but isnot limited to, application code, device drivers, operating systems, andexecution environments/containers.

Communication systems as referred to herein (e.g., communication system256, 256) optionally communicate via wired and/or wireless communicationconnections. Communication systems optionally communicate with networks,such as the Internet, also referred to as the World Wide Web (WWW), anintranet and/or a wireless network, such as a cellular telephonenetwork, a wireless local area network (LAN) and/or a metropolitan areanetwork (MAN), and other devices by wireless communication. Wirelesscommunication connections optionally use any of a plurality ofcommunications standards, protocols and technologies, including but notlimited to Global System for Mobile Communications (GSM), Enhanced DataGSM Environment (EDGE), high-speed downlink packet access (HSDPA),high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO),HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), long term evolution (LTE), nearfield communication (NFC), wideband code division multiple access(W-CDMA), code division multiple access (CDMA), time division multipleaccess (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 102.11a,IEEE 102.11ac, IEEE 102.11ax, IEEE 102.11b, IEEE 102.11g and/or IEEE102.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocol fore-mail (e.g., Internet message access protocol (IMAP) and/or post officeprotocol (POP)), instant messaging (e.g., extensible messaging andpresence protocol (XMPP), Session Initiation Protocol for InstantMessaging and Presence Leveraging Extensions (SIMPLE), Instant Messagingand Presence Service (IMPS)), and/or Short Message Service (SMS), or anyother suitable communication protocol, including communication protocolsnot yet developed as of the filing date of this document.

It will be understood that, although the terms “first,” “second,” etc.may be used herein to describe various elements, these elements shouldnot be limited by these terms. These terms are only used to distinguishone element from another.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the claims. Asused in the description of the embodiments and the appended claims, thesingular forms “a,” “an” and “the” are intended to include the pluralforms as well, unless the context clearly indicates otherwise. It willalso be understood that the term “and/or” as used herein refers to andencompasses any and all possible combinations of one or more of theassociated listed items. It will be further understood that the terms“comprises” and/or “comprising,” when used in this specification,specify the presence of stated features, integers, steps, operations,elements, and/or components, but do not preclude the presence oraddition of one or more other features, integers, steps, operations,elements, components, and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon”or “in response to determining” or “in accordance with a determination”or “in response to detecting,” that a stated condition precedent istrue, depending on the context. Similarly, the phrase “if it isdetermined [that a stated condition precedent is true]” or “if [a statedcondition precedent is true]” or “when [a stated condition precedent istrue]” may be construed to mean “upon determining” or “in response todetermining” or “in accordance with a determination” or “upon detecting”or “in response to detecting” that the stated condition precedent istrue, depending on the context.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the claims to the precise forms disclosed. Many modifications andvariations are possible in view of the above teachings. The embodimentswere chosen and described in order to best explain principles ofoperation and practical applications, to thereby enable others skilledin the art.

What is claimed is:
 1. A method for displaying a representation of mediadata that corresponds to a group event, the method comprising, at acomputing device: obtaining data that includes indications of aplurality of agenda items from an agenda that correspond to the groupevent; and during the group event: obtaining media data captured by amedia recording device; converting the captured media data to asearchable version of the media data; determining non-consecutive timeframes of the media data during which at least one of a first agendaitem and a second distinct agenda item of the plurality of agenda itemsis discussed; and enabling display of the representation of the mediadata in a user interface that is accessible to at least one userassociated with the group event, wherein the representation comprises anaudio waveform, including: arranging a plurality of portions of therepresentation along a time axis, each portion representing a respectivesubset of the media data captured for a respective one of the pluralityof agenda items during a respective time frame; determining that aplurality of first non-contiguous portions of the representation of themedia data discuss the first agenda item and that a second portion ofthe representation of the media data discusses the second agenda item,each of the first non-contiguous portions and second portion of therepresentation of the media data captured during a respective time frameof the non-consecutive time frames, wherein on the time axis, the secondportion of the second agenda item separates two of the firstnon-contiguous portions of the first agenda item, wherein the pluralityof portions, the plurality of first non-contiguous portions, and thesecond portion of the representation include respective portions of theaudio waveform, wherein the non-consecutive time frames include a firsttime frame and a second time frame that is distinct from andnon-consecutive to the first time frame of the two of the firstnon-contiguous portions; determining a third time frame of the mediadata during which a second agenda item of the plurality of agenda itemsis discussed, the second agenda item being distinct from the firstagenda item; determining that the second portion of the representationof the media data, distinct from the plurality of first non-contiguousportions of the media data, discusses the second agenda item during thethird time frame, wherein arranging the plurality of portions of therepresentation along the time axis including arranging the third timeframe of the second portion of the representation between the first timeframe and the second time frame and separating the two of the firstnon-contiguous portions; detecting a user input action at any one of thefirst non-contiguous portions of the representation discussing the firstagenda item; and in response to detecting a user input action at any oneof the first non-contiguous portions of the representation discussingthe first agenda item: visually emphasizing all of the plurality of thefirst non-contiguous portions of the representation of the media datacaptured during respective time frames of the non-consecutive timeframes discussing the first agenda item including the first time frameand the second time frame; displaying text describing the first agendaitem with the plurality of the first non-contiguous portions of therepresentation of the media data; and displaying the second portion ofthe representation of the media data that separates the two of the firstnon-contiguous portions without the visual emphasis of all of theplurality of the first non-contiguous portions of the representation ofthe media data.
 2. The method of claim 1, wherein the plurality ofagenda items is automatically generated based on information stored byan organization data structure.
 3. The method of claim 1, wherein theplurality of agenda items is generated based on information from aplurality of agendas, the method further comprising: determining, fromthe media data, a respective agenda of the plurality of agendas thatincludes to the first agenda item, wherein displaying the representationof the media data includes displaying an indication of a source of therespective agenda of the plurality of agendas that includes the firstagenda item, wherein the source is one or more of: a project within anorganization, a calendar invitation, or a group event invitation.
 4. Themethod of claim 1, wherein the obtained data includes indications of aplurality of group event attendees, the method further comprising:identifying a first attendee of the plurality of group event attendees,wherein the first agenda item is assigned to the first attendee and atask is assigned to the first attendee; and determining that the firstagenda item of the plurality of agenda items is associated to the taskbased on the first agenda item and the task being assigned to the firstattendee.
 5. The method of claim 1, wherein converting the capturedmedia data to the searchable version of the media data includesperforming speech-to-text processing and comparing text obtained fromthe speech-to-text processing with text that corresponds to theplurality of agenda items.
 6. The method of claim 1, wherein therepresentation comprises a set of frames of video, and one of theplurality of first non-contiguous portions of the representation of themedia data includes a first frame of the set of frames of video, thefirst frame being visually emphasized relative to other frames of thevideo.
 7. The method of claim 1, wherein the media data includes datarecorded at a plurality of personal devices of respective attendees ofthe group event.
 8. The method of claim 1, wherein enabling display ofthe representation of the media data in a user interface furtherincludes: providing the representation of the media data and theplurality of agenda items for simultaneous display, including displayingone or more markers to visually distinguish portions of therepresentation that correspond to the displayed agenda items.
 9. Themethod of claim 1, wherein received data includes indications of aplurality of group event attendees, the method further comprising:identifying a first attendee, of the plurality of group event attendees,that is associated with a project, wherein the first agenda item isassigned to the first attendee; and determining that the first agendaitem of the plurality of agenda items is associated to the project basedon: (i) an association of the first attendee with the project and (ii)the first agenda item being assigned to the first attendee.
 10. Anelectronic device, comprising: one or more processors; and memorystoring one or more programs for execution by the one or moreprocessors, the one or more programs including instructions for:obtaining data that includes indications of a plurality of agenda itemsfrom an agenda that correspond to a group event; and during the groupevent: obtaining media data captured by a media recording device;converting the captured media data to a searchable version of the mediadata; determining non-consecutive time frames of the media data duringwhich at least one of a first agenda item and a second distinct agendaitem of the plurality of agenda items is discussed; and enabling displayof a representation of the media data in a user interface that isaccessible to at least one user associated with the group event, whereinthe representation comprises an audio waveform, including: arranging aplurality of portions of the representation along a time axis, eachportion representing a respective subset of the media data captured fora respective one of the plurality of agenda items during a respectivetime frame; determining that a plurality of first non-contiguousportions of the representation of the media data discuss the firstagenda item and that a second portion of the representation of the mediadata discusses the second agenda item, each of the first non-contiguousportions and second portion of the representation of the media datacaptured during a respective time frame of the non-consecutive timeframes, wherein on the time axis, the second portion of the secondagenda item separates two of the first non-contiguous portions of thefirst agenda item, wherein the plurality of portions, the plurality offirst non-contiguous portions, and the second portion of therepresentation include respective portions of the audio waveform,wherein the non-consecutive time frames include a first time frame and asecond time frame that is distinct from and non-consecutive to the firsttime frame of the two of the first non-contiguous portions; determininga third time frame of the media data during which a second agenda itemof the plurality of agenda items is discussed, the second agenda itembeing distinct from the first agenda item; determining that the secondportion of the representation of the media data, distinct from theplurality of first non-contiguous portions of the media data, discussesthe second agenda item during the third time frame, wherein arrangingthe plurality of portions of the representation along the time axisincluding arranging the third time frame of the second portion of therepresentation between the first time frame and the second time frameand separating the two of the first non-contiguous portions; detecting auser input action at any one of the first non-contiguous portions of therepresentation discussing the first agenda item; and in response todetecting a user input action at any one of the first non-contiguousportions of the representation discussing the first agenda item: visually emphasizing all of the plurality of the first non-contiguousportions of the representation of the media data captured duringrespective time frames of the non-consecutive time frames discussing thefirst agenda item including the first time frame and the second timeframe;  displaying text describing the first agenda item with theplurality of the first non-contiguous portions of the representation ofthe media data; and  displaying the second portion of the representationof the media data that separates the two of the first non-contiguousportions without the visual emphasis of all of the plurality of thefirst non-contiguous portions of the representation of the media data.11. The electronic device of claim 10, wherein information correspondingto a speaker at the group event is displayed at a location in the userinterface that corresponds to a portion of the representation associatedwith the speaker.
 12. The electronic device of claim 10, whereininformation identifying at least one person associated with the firstagenda item is displayed at a location in the user interface thatcorresponds to the first non-contiguous portions of the representation.13. The electronic device of claim 10, wherein the representation of themedia data is updated as the media data is captured.
 14. The electronicdevice of claim 10, wherein the obtained data includes indications of aplurality of group event attendees, the one or more programs furthercomprising instructions for: identifying a first attendee of theplurality of group event attendees, wherein the first agenda item isassigned to the first attendee and a task is assigned to the firstattendee; and determining that the first agenda item of the plurality ofagenda items is associated to the task based on the first agenda itemand the task being assigned to the first attendee.
 15. The electronicdevice of claim 10, wherein converting the captured media data to thesearchable version of the media data includes performing speech-to-textprocessing and comparing text obtained from the speech-to-textprocessing with text that corresponds to the plurality of agenda items.16. A non-transitory computer-readable storage medium storing one ormore programs for execution by one or more processors of an electronicdevice, the one or more programs comprising instructions for: obtainingdata that includes indications of a plurality of agenda items from anagenda that correspond to a group event; and during the group event:obtaining media data captured by a media recording device; convertingthe captured media data to a searchable version of the media data;determining non-consecutive time frames of the media data during whichat least one of a first agenda item and a second distinct agenda item ofthe plurality of agenda items is discussed; and enabling display of arepresentation of the media data in a user interface that is accessibleto at least one user associated with the group event, wherein therepresentation comprises an audio waveform, including: arranging aplurality of portions of the representation along a time axis, eachportion representing a respective subset of the media data captured fora respective one of the plurality of agenda items during a respectivetime frame; determining that a plurality of first non-contiguousportions of the representation of the media data discuss the firstagenda item and that a second portion of the representation of the mediadata discusses the second agenda item, each of the first non-contiguousportions and second portion of the representation of the media datacaptured during a respective time frame of the non-consecutive timeframes, wherein on the time axis, the second portion of the secondagenda item separates two of the first non-contiguous portions of thefirst agenda item, wherein the plurality of portions, the plurality offirst non-contiguous portions, and the second portion of therepresentation include respective portions of the audio waveform,wherein the non-consecutive time frames include a first time frame and asecond time frame that is distinct from and non-consecutive to the firsttime frame of the two of the first non-contiguous portions; determininga third time frame of the media data during which a second agenda itemof the plurality of agenda items is discussed, the second agenda itembeing distinct from the first agenda item; determining that the secondportion of the representation of the media data, distinct from theplurality of first non-contiguous portions of the media data, discussesthe second agenda item during the third time frame, wherein arrangingthe plurality of portions of the representation along the time axisincluding arranging the third time frame of the second portion of therepresentation between the first time frame and the second time frameand separating the two of the first non-contiguous portions; detecting auser input action at any one of the first non-contiguous portions of therepresentation discussing the first agenda item; and in response todetecting a user input action at any one of the first non-contiguousportions of the representation discussing the first agenda item:visually emphasizing all of the plurality of the first non-contiguousportions of the representation of the media data captured duringrespective time frames of the non-consecutive time frames discussing thefirst agenda item including the first time frame and the second timeframe; displaying text describing the first agenda item with theplurality of the first non-contiguous portions of the representation ofthe media data; and displaying the second portion of the representationof the media data that separates the two of the first non-contiguousportions without the visual emphasis of all of the plurality of thefirst non-contiguous portions of the representation of the media data.17. The non-transitory computer-readable storage medium of claim 16, theone or more programs further comprising instructions for, searching thesearchable version of the media data to determine a second time frame ofthe media data that corresponds to a key term associated with the groupevent, wherein displaying the representation of the media data includesdisplaying a portion of the representation of the media data thatcorresponds to the second time frame.
 18. The non-transitorycomputer-readable storage medium of claim 16, the one or more programsfurther comprising instructions for, during the group event, displayinga prompt during the group event based on the captured media data and theplurality of agenda items, wherein the prompt includes any of: anindication of a remaining time for the group event; and informationindicating agenda items of the plurality of agenda items that have notyet been captured.
 19. The non-transitory computer-readable storagemedium of claim 16, the one or more programs further comprisinginstructions for, during the group event, displaying a prompt during thegroup event based on the captured media data and the plurality of agendaitems, wherein the prompt is displayed in response to any of and conveysinformation related to: a length of time of the group event satisfying athreshold; and a determination of a threshold time remaining withrespect to a scheduled amount of time for the group event.
 20. Thenon-transitory computer-readable storage medium of claim 16, wherein theplurality of agenda items is automatically generated based oninformation stored by an organization data structure.
 21. Thenon-transitory computer-readable storage medium of claim 16, wherein theplurality of agenda items is generated based on information from aplurality of agendas, the one or more programs further comprisinginstructions for: determining, from the media data, a respective agendaof the plurality of agendas that includes to the first agenda item,wherein displaying the representation of the media data includesdisplaying an indication of a source of the respective agenda of theplurality of agendas that includes the first agenda item, wherein thesource is one or more of: a project within an organization, a calendarinvitation, or a group event invitation.